/**
 * 字符串工具函数
 */

/**
 * 将字符串的第一个字母大写
 * @param str - 输入字符串
 * @returns 首字母大写的字符串
 */
export function capitalize(str: string): string {
  if (!str || str.length === 0) return str;
  return str.charAt(0).toUpperCase() + str.slice(1);
}

/**
 * 将字符串转换为驼峰式命名
 * @param str - 输入字符串
 * @returns 驼峰式字符串
 */
export function toCamelCase(str: string): string {
  return str
    .replace(/[-_\s]+(.)?/g, (_, c) => (c ? c.toUpperCase() : ''))
    .replace(/^[A-Z]/, c => c.toLowerCase());
}

/**
 * 如果字符串超过指定的最大长度，则截断它
 * @param str - 输入字符串
 * @param maxLength - 最大长度
 * @param suffix - 截断时添加的可选后缀，默认为'...'
 * @returns 截断后的字符串
 */
export function truncate(str: string, maxLength: number, suffix: string = '...'): string {
  if (!str || str.length <= maxLength) return str;
  return str.substring(0, maxLength) + suffix;
} 